Conventional scaling systems in a shared resource environment allow dynamic scaling. The scaling can be based on resource utilization (i.e., the number of resources being used). Such conventional systems reactively scale based on current resource utilization. Conventional scalers provide a non-intelligent scaling. For example, a conventional system may simply divide by 10 and start allocating resources. The resources may or may not be efficiently allocated.
It would be desirable to implement autoscaling of shared resources in a cluster for processing a work queue where the scaling proactively adjusts resources to known workloads to minimize costs for activating units of the shared resources.